body {
  font-feature-settings: 'cv11', 'ss01';
  font-variation-settings: 'opsz' 32;
}

html {
  scroll-behavior: smooth;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.3);
}

/* Selection styling */
::selection {
  background: rgba(186, 186, 233, 0.3);
  color: inherit;
}

::-moz-selection {
  background: rgba(186, 186, 233, 0.3);
  color: inherit;
}

/* Glass morphism utilities */
.glass {
  background: var(--glass-gradient);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  will-change: transform;
}

.glass-border {
  border: 1px solid;
  border-image: var(--glass-border) 1;
}

/* Shimmer effect */
.shimmer {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.1) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  background-size: 1000px 100%;
  animation: var(--animate-shimmer);
}

/* Text gradient utilities */
.text-gradient-purple {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

.text-gradient-rainbow {
  background: linear-gradient(
    90deg,
    #ff006e,
    #8338ec,
    #3a86ff,
    #06ffa5,
    #ffbe0b,
    #fb5607
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  background-size: 300% 100%;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}
